'use strict';

// const { Controller } = require('egg');
// const { Controller } = require('egg');

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller, middleware } = app;
  // app.middleware.checkToken(),
  // 这个意思就是只有token验证成功后才能继续调用index这个接口
  // app.middleware.checkToken(),
  // 查询管理员所有信息
  const checkToken = middleware.checkToken();
  console.log(checkToken);
  router.get('/admin', controller.admin.index);
  // 增加管理员
  router.post('/admin/add', controller.admin.create);
  // 删除管理员
  router.delete('/admin/delete/:id', controller.admin.delete);
  // 更新管理员信息
  router.post('/admin/update/:id', controller.admin.update);
  // 管理员登录
  router.post('adminlogin', '/adminLogin', controller.adminLogin.login);
  // router.get('user', '/user', controller.user.index);
  // 用户登录
  router.post('userlogin', '/userLogin', controller.adminLogin.userLogin);
  // 用户信息 增删查改相关接口
  router.resources('user', '/user', controller.user);
  // 查询酒店信息相关接口
  router.resources('hotel', '/api/hotel', controller.hotel);
  // 通过酒店id查询对应信息
  router.get('hotel', '/api/v1/hotel/:id', controller.hotel.findByid);
  // 酒店价格升序排列
  router.get('hotel', '/hotel/sortPrice', controller.hotel.sortPriceHotel);
  // 城市相关信息接口
  router.resources('city', '/api/city', controller.city);
  // 房间信息相关接口
  router.resources('room', '/hotel/room', controller.room);
  // 根据房间价格进行升序排列
  router.get('roomSort', '/room/sortPrice', controller.room.sortPrice);
  // 通过酒店id查询其对应的所有房间信息
  router.get('roomId', '/room/ByHotelId/:id', controller.room.getRoomByHotelId);
  // 降序排列
  router.get('roomSort', '/room/sortPriceByDesc', controller.room.sortPriceByDesc);
  // 支付宝沙箱网站支付接口
  router.post('payment', '/api/payment', controller.payment.payment);
  // 查询订单状态是否支付成功
  // router.get('payment', '/api/payment/queryOrderAlipay/:id', controller.payment.queryOrderAlipay);
  router.get('payment', '/api/payment/queryOrderAlipay', controller.payment.queryOrderAlipay);
  // 支付宝沙箱当面付展示二维码接口
  router.post('/alipay/qrcode', controller.payment.createQrCode);
  // 订单相关接口
  router.resources('reservation', '/api/reservation', controller.reservation);
  // 通过房间id查询订单
  router.get('reservation', '/reservation/:id', controller.reservation.getReverInfoByRoomId);
  // 用户id查询订单
  router.get('reservation', '/user/reservation/:id', controller.reservation.getReverInfoByUserId);
  // 用户留言相关接口
  router.resources('comment', '/hotel/comment', controller.message);
  // 获取所有的管理员回复列表
  router.get('reply', '/comment/replies', controller.message.getAdminReply);
  // 管理员回复接口
  router.post('reply', '/comment/replies/:id', controller.message.AdminReply);
  // 管理员根据用户id修改回复内容
  router.put('reply', '/comment/replies/:id/update', controller.message.UpdateReply);
  // 新闻文章相关接口
  router.resources('article', '/api/article', controller.article);
};
